const express = require('express');
const cors = require('cors');
const app = express();
const port = 8081;  // 改为8081端口

// 使用CORS中间件，允许所有跨域请求
app.use(cors());

// 解析JSON请求体
app.use(express.json());

// 十位古代皇帝数据
const emperors = [
    {
        id: 1,
        name: '秦始皇',
        dynasty: '秦朝',
        reignYears: '前246-前210年',
        achievements: '统一六国，建立中国历史上第一个中央集权制国家'
    },
    {
        id: 2,
        name: '汉武帝',
        dynasty: '西汉',
        reignYears: '前141-前87年',
        achievements: '开疆拓土，派张骞出使西域，独尊儒术'
    },
    {
        id: 3,
        name: '唐太宗',
        dynasty: '唐朝',
        reignYears: '626-649年',
        achievements: '贞观之治，开创大唐盛世，被尊为"天可汗"'
    },
    {
        id: 4,
        name: '武则天',
        dynasty: '武周',
        reignYears: '690-705年',
        achievements: '中国历史上唯一正统女皇帝，开创殿试制度'
    },
    {
        id: 5,
        name: '宋太祖',
        dynasty: '北宋',
        reignYears: '960-976年',
        achievements: '陈桥兵变建立宋朝，结束五代十国分裂局面'
    },
    {
        id: 6,
        name: '成吉思汗',
        dynasty: '蒙古帝国',
        reignYears: '1206-1227年',
        achievements: '建立蒙古帝国，征服地域横跨欧亚大陆'
    },
    {
        id: 7,
        name: '明太祖',
        dynasty: '明朝',
        reignYears: '1368-1398年',
        achievements: '推翻元朝，建立明朝，恢复汉人统治'
    },
    {
        id: 8,
        name: '康熙帝',
        dynasty: '清朝',
        reignYears: '1661-1722年',
        achievements: '平定三藩，统一台湾，开启康乾盛世'
    },
    {
        id: 9,
        name: '乾隆帝',
        dynasty: '清朝',
        reignYears: '1735-1796年',
        achievements: '十全武功，编修《四库全书》，清朝达到鼎盛'
    },
    {
        id: 10,
        name: '唐玄宗',
        dynasty: '唐朝',
        reignYears: '712-756年',
        achievements: '开元盛世，唐朝文化艺术的黄金时期'
    }
];

// 提供 /emperors 接口 - 获取所有皇帝
app.get('/emperors', (req, res) => {
    console.log('接收到获取皇帝列表请求');
    res.json(emperors);
});

// 提供 /emperors/:id 接口 - 根据ID获取特定皇帝
app.get('/emperors/:id', (req, res) => {
    const id = parseInt(req.params.id);
    const emperor = emperors.find(emp => emp.id === id);

    if (emperor) {
        res.json(emperor);
    } else {
        res.status(404).json({ error: '未找到该皇帝' });
    }
});

// 健康检查接口
app.get('/health', (req, res) => {
    res.json({
        status: 'ok',
        message: '服务器运行正常',
        timestamp: new Date().toISOString()
    });
});

// 启动服务器
app.listen(port, '0.0.0.0', () => {
    console.log('=================================');
    console.log('🚀 皇帝数据服务器已启动!');
    console.log(`📍 本地访问: http://localhost:${port}`);
    console.log(`🌐 网络访问: http://192.168.3.3:${port}`);
    console.log('=================================');
    console.log('可用接口:');
    console.log(`  GET /emperors     - 获取所有皇帝数据`);
    console.log(`  GET /emperors/:id - 根据ID获取特定皇帝`);
    console.log(`  GET /health       - 健康检查`);
    console.log('=================================');
});